#ifndef CCOLORPICKER_H
#define CCOLORPICKER_H

#include <QtDeclarative>
#include <QDeclarativeItem>
#include <QColorDialog>
#include <QDebug>
#include <QDeclarativeView>

class CColorPicker : public QDeclarativeItem
{
    Q_OBJECT

    Q_PROPERTY(QColor corSelecionada READ getCorSelecionada WRITE setCorSelecionada NOTIFY corSelecionadaChanged)

public:
    explicit CColorPicker(QDeclarativeItem *parent = 0);
    ~CColorPicker();

    Q_INVOKABLE void Abrir();
    Q_INVOKABLE void Fechar();
    
signals:
    void corSelecionadaChanged();

private:
    QColorDialog *_corDlg;
    QColor _corSelecionada;

    QColor getCorSelecionada();
    void setCorSelecionada(QColor cor);
    
public slots:
    void corSelecionadaSlot(QColor cor);
    
};

inline QColor CColorPicker::getCorSelecionada() { return _corSelecionada; }
inline void CColorPicker::setCorSelecionada(QColor cor)
{
    _corSelecionada = cor;
    _corDlg->setCurrentColor(cor);
    emit corSelecionadaChanged();
}

#endif // CCOLORPICKER_H
